
#pragma once

#include "Nebula.h"

namespace smartvoice {

using namespace nebula::sdk;

class SessionTask : public TaskBase
{
public:
	SessionTask();

public:
	static ITask* Allocator(IService*);

	SessionTask* Clone();

public:
	virtual NEBULA_ERROR_CODE Serialize(std::ostream &);
	virtual NEBULA_ERROR_CODE UnSerialize(std::istream &);

public:
	time_t      m_start_time;
	std::string m_caller_number;
	std::string m_caller_name;
	std::string m_callee_number;
	std::string m_callee_name;
	std::string m_audio;        // base64 encoded
	std::string m_audio_format; // amr/mp3/wav
	std::string m_text;         // dialogure content in UTF-8
	std::string m_index_info;   // storage index info
};

} // namespace smartvoice

